%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Master Thesis - Computer Engineering
%% Copyright 2009 Ricardo Alexandre Fiorelli, Erick Poletto
%% This document is distributed by the terms of the license
%% included in the file LICENCE.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Appendix D
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\chapter{Banco de dados de componentes} \label{app:database_components}
    \section{Esquema do banco de dados dos benchmarks do SANDRA} \label{app:sandra_benchmark_table_schema}
        Esta se\c{c}\~{a}o descreve as tabelas extra\'{i}das do banco de dados do software SANDRA. Elas foram interligadas por uma combina\c{c}\~{a}o de outras tabelas do mesmo banco de dados para qu fossem obtidos dados com maior teor de informa\c{c}\~{a}o.

        \subsection*{CPU Benchmarks} \label{app:cpu_benchmarks}
            Tables~\ref{tab:CPUDataByEnergyComsumption}, \ref{tab:CPUDataByModel}, \ref{tab:CPUDataByStep}, \ref{tab:CPURefAADhryResults}, \ref{tab:CPURefAAWhetResults}, \ref{tab:CPURefMMDoubleResults}, \ref{tab:CPURefMMFloatResults}, \ref{tab:CPURefMMIntResults}, \ref{tab:RefCpuAA}, \ref{tab:RefCpuCrypt}, \ref{tab:RefCpuMM} and \ref{tab:RefCpuPwrALU} are related to benchmarks for the processor.
        % tabelas do ricardo
        \begin{table}[htbp]
        \centering
        \begin{tabular}{|l|l|l|}
        \hline
        \textbf{Field Name} & \textbf{Data Type} & \textbf{Description} \tnhl
        \textbf{ManID} & Number & Sandra manufacturer ID \tnhl
        \textbf{ClassID} & Number & Sandra CPU class ID \tnhl
        \textbf{TypeID} & Number & Sandra CPU type ID \tnhl
        \textbf{ModelID} & Number & CPUID model ID \tnhl
        \textbf{Processor Name} & Number & Name of CPU of this model \tnhl
        \textbf{RatedSpeed (MHz)} & Number & rated Speed for wattage \tnhl
        \textbf{RatedVoltage (V)} & Number & rated Vcore for wattage \tnhl
        \textbf{RatedPower (W)} & Number & rated wattage \tnhl
        \textbf{MaxTemp} & Number & in $^o$C \tnhl
        \textbf{CoolerRating} & Number & target cooler $^o$C/W rating \tnhl
        \end{tabular}
        \caption[Consumo energ\'{e}tico do CPU]{CPU e a energia consumida em Watt}
        \label{tab:CPUDataByEnergyComsumption}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabular}{|l|l|l|}
        \hline
        \textbf{Field Name} & \textbf{Data Type} & \textbf{Description} \tnhl
        \textbf{ManID} & Number & Sandra manufacturer ID \tnhl
        \textbf{ClassID} & Number & Sandra CPU class ID \tnhl
        \textbf{TypeID} & Number & Sandra CPU type ID \tnhl
        \textbf{ModelID} & Number & CPUID model ID \tnhl
        \textbf{Upgrade} & Number & Type (od, mobile, etc.) \tnhl
        \textbf{BrandID} & Number & CPUID brand ID \tnhl
        \textbf{Name} & Text & Name of CPU of this model \tnhl
        \end{tabular}
        \caption{Caracter\'{i}sticas da CPU organizadas por modelo}
        \label{tab:CPUDataByModel}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}l|l|X|}
        \hline
        Field Name & \textbf{Data Type} & \textbf{Description} \tnhl
        ManID & Number & Sandra manufacturer ID \tnhl
        ClassID & Number & Sandra CPU class ID \tnhl
        TypeID & Number & Sandra CPU type ID \tnhl
        ModelID & Number & CPUID model ID \tnhl
        SteppingID & Number & CPUID stepping ID (identifica quanto o design de um microprocessador avan\c{c}ou desde o in\'{i}cio) \tnhl
        Upgrade & Number & type (od, mobile, etc.) \tnhl
        BrandID & Number & CPUID brand ID \tnhl
        Steping Mask & Text & stepping mask \tnhl
        RatedSpeed (MHz) & Number & rated Speed for wattage \tnhl
        RatedVoltage (V) & Number & rated Vcore for wattage \tnhl
        RatedPower (W) & Number & rated wattage \tnhl
        MaxTemp & Number & in $^o$C \tnhl
        CoolerRating & Number & target cooler $^o$C/W rating \tnhl
        \end{tabularx}
        \caption{Caracter\'{i}sticas da CPU organizadas em \emph{stepping}}
        \label{tab:CPUDataByStep}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}l|l|X|}
        \hline
        Field Name & \textbf{Data Type} & \textbf{Description} \tnhl
        CPU Type Description & Text & Processor Name \tnhl
        Os Type & Text & Architecture type (x86 or x64) \tnhl
        Speed (MHz) & Number & Frequency in MHz \tnhl
        N$^o$ Core & Number & N$^o$ of Core \tnhl
        Dhrystone Type & Text & Type of Dhrystone \tnhl
        ALU Performance & Number & Dhrystone int ALU (Arithmetic Logic Unit) value (MIPS) \tnhl
        Comment & Text & Type of Benchmark used. \tnhl
        \end{tabularx}
        \caption[Benchmarks de Dhrystone - ALU]{Refer\^{e}ncias aos \emph{benchmarks} de Dhrystone (ALU) desenvolvidos com o processador}
        \label{tab:CPURefAADhryResults}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}l|l|X|}
        \hline
        Field Name & \textbf{Data Type} & \textbf{Description} \tnhl
        CPU Name & Text & Processor Name \tnhl
        Os Type & Text & Architecture type (x86 or x64) \tnhl
        Speed & Number & Frequency in MHz \tnhl
        N$^o$ Core & Number & N$^o$ Core \tnhl
        Whetstone Type & Text & Whetstone Type \tnhl
        FPU  & Number & Whetstone float FPU (Floating Point Unit) value (MFLOPS) \tnhl
        Comment & Text & Type of Benchmark used. \tnhl
        \end{tabularx}
        \caption[Benchmarks de Whetstone - FPU]{Refer\^{e}ncias aos \emph{benchmarks} de Whetstone (FPU) desenvolvidos com o processador}
        \label{tab:CPURefAAWhetResults}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabular}{|l|l|l|}
        \hline
        \textbf{Field Name} & \textbf{Data Type} & \textbf{Description} \tnhl
        \textbf{CPU Name} & Text & Processor Name \tnhl
        \textbf{Os Type} & Text & Architecture type (x86 or x64) \tnhl
        \textbf{Speed} & Number & Frequency in MHz \tnhl
        \textbf{N$^o$ Core} & Number & N$^o$ Core \tnhl
        \textbf{Multimedia Double Type} & Text & Type of multimedia used \tnhl
        \textbf{Multimedia Instruction Set} & Number & Mm instruction set to use \tnhl
        \textbf{Comment} & Text & Comment on result \tnhl
        \end{tabular}
        \caption[Resultado Multimedia Benchmarks com double]{Resultado para o \emph{benchmark} de Multimedia com uso de double}
        \label{tab:CPURefMMDoubleResults}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabular}{|l|l|l|}
        \hline
        \textbf{Field Name} & \textbf{Data Type} & \textbf{Description} \tnhl
        \textbf{CPU Name} & Text & Processor Name \tnhl
        \textbf{Os Type} & Text & Architecture type (x86 or x64) \tnhl
        \textbf{Speed} & Number & Frequency in MHz \tnhl
        \textbf{N$^o$ CPU} & Number & N$^o$ CPU \tnhl
        \textbf{Multimedia Float Type} & Text & Type of multimedia used \tnhl
        \textbf{Multimedia Instruction Set} & Number & Mm instruction set to use \tnhl
        \textbf{Comment} & Text & Comment on result \tnhl
        \end{tabular}
        \caption[Resultado Multimedia Benchmarks com float]{Resultado para o \emph{benchmark} de Multimedia com uso de float}
        \label{tab:CPURefMMFloatResults}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabular}{|l|l|l|}
        \hline
        \textbf{Field Name} & \textbf{Data Type} & \textbf{Description} \tnhl
        \textbf{CPU Name} & Text & Processor Name \tnhl
        \textbf{Os Type} & Text & Architecture type (x86 or x64) \tnhl
        \textbf{Speed} & Number & Frequency in MHz \tnhl
        \textbf{N$^o$ CPU} & Number & N$^o$ CPU \tnhl
        \textbf{Multimedia Int Type} & Text & Type of multimedia used \tnhl
        \textbf{Multimedia Instruction Set} & Number & MM instruction set to use \tnhl
        \textbf{Comment} & Text & Comment on result \tnhl
        \end{tabular}
        \caption[Resultado Multimedia Benchmarks com integer]{Resultado para o \emph{benchmark} de Multimedia com uso de integer}
        \label{tab:CPURefMMIntResults}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabular}{|l|l|l|}
        \hline
        \textbf{Field Name} & \textbf{Data Type} & \textbf{Description} \tnhl
        \textbf{ID} & AutoNumber & ID Number \tnhl
        \textbf{Type of Result} & Text & Type of Result \tnhl
        \textbf{Os Type} & Text & Architecture type (x86 or x64) \tnhl
        \textbf{Platform} & Number & Platform type \tnhl
        \textbf{Dateset} & Date & Date of benchmark \tnhl
        \textbf{CPU Name} & Text & Reference system name \tnhl
        \textbf{Speed} & Number & MHz \tnhl
        \textbf{Power} & Number & Power in 0.01W \tnhl
        \textbf{CPU Type} & Text & CPU Type \tnhl
        \textbf{N$^o$ Cores} & Number & N$^o$ Core units \tnhl
        \textbf{FSB Speed} & Number & FSB Speed in MHz \tnhl
        \textbf{MOPS} & Number & Combined value (MOPS) \tnhl
        \textbf{Dhrystone ALU} & Number & Dhrystone in ALU value (MIPS) \tnhl
        \textbf{Dhrystone Type} & Text & Type of Dhrystone \tnhl
        \textbf{Whetstone} & Number & Whetstone float FPU value (MFLOPS) \tnhl
        \textbf{Whetstone Type} & Text & Type of whetstone \tnhl
        \end{tabular}
        \caption[Benchmarks de Dhrystone and Whetstone]{Resultado dos \emph{benchmarks} de Dhrystone and Whetstone}
        \label{tab:RefCpuAA}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabular}{|l|l|l|}
        \hline
        \textbf{Field Name} & \textbf{Data Type} & \textbf{Description} \tnhl
        \textbf{ID} & AutoNumber & ID Number \tnhl
        \textbf{Result Type} & Number & Type of result  \tnhl
        \textbf{Os Type} & Text & Architecture type (x86 or x64) \tnhl
        \textbf{Platform} & Number & Platform type \tnhl
        \textbf{Dateset} & Date/Time & Date of benchmark \tnhl
        \textbf{Name} & Text  & Reference system name \tnhl
        \textbf{Speed} & Number & Speed in MHz \tnhl
        \textbf{Power} & Number & Power in 0.01W \tnhl
        \textbf{CPU Type} & Number & CPU type \tnhl
        \textbf{N$^o$ Cores} & Number & N$^o$ Cores per unit \tnhl
        \textbf{FSB Speed} & Number & FSB Speed in MHZ \tnhl
        \textbf{Total} & Number & Total MB/s \tnhl
        \textbf{Crypto} & Number & Crypto MB/s \tnhl
        \textbf{Encryption} & Number & Encryption \tnhl
        \textbf{Descryption} & Number & Decryption \tnhl
        \textbf{Cryptographic Algorithm} & Number & Cryptographic Algorithm \tnhl
        \textbf{Cryptographic Instruction set} & Number & Cryptographic Instruction set \tnhl
        \textbf{Hash } & Number & Hash  \tnhl
        \textbf{Hash algorithm} & Number & Hash algorithm \tnhl
        \textbf{Hash Instruction set} & Number & Hash Instruction set \tnhl
        \end{tabular}
        \caption[Benchmark de cryptography em CPUs]{Resultado dos \emph{benchmarks} de cryptography in CPUs}
        \label{tab:RefCpuCrypt}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabular}{|l|l|l|}
        \hline
        \textbf{Field Name} & \textbf{Data Type} & \textbf{Description} \tnhl
        \textbf{ID} & AutoNumber & ID Number \tnhl
        \textbf{Result Type} & Number & Type of result  \tnhl
        \textbf{Os Type} & Text & Architecture type (x86 or x64) \tnhl
        \textbf{Platform} & Number & Platform type \tnhl
        \textbf{Dateset} & Date/Time & Date of benchmark \tnhl
        \textbf{Name} & Text  & Reference system name \tnhl
        \textbf{Speed} & Number & Speed in MHz \tnhl
        \textbf{Power} & Number & Power in 0.01W \tnhl
        \textbf{CPU Type} & Number & CPU type \tnhl
        \textbf{N$^o$ Cores} & Number & N$^o$ Cores per unit \tnhl
        \textbf{FSB Speed} & Number & FSB Speed in MHZ \tnhl
        \textbf{Total} & Number & Total \tnhl
        \textbf{MM Int} & Number & Integer \tnhl
        \textbf{MM Int Type} & Text & Integer Type \tnhl
        \textbf{MM Float} & Number & Float \tnhl
        \textbf{MM float Type} & Text & Float type \tnhl
        \textbf{MM double } & Number & Double  \tnhl
        \textbf{MM double type} & Text  & Double type \tnhl
        \end{tabular}
        \caption{Wrap up of the Benchmarks Performed with Multimedia}
        \label{tab:RefCpuMM}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}l|l|X|}
        \hline
        Field Name & \textbf{Data Type} & \textbf{Description} \tnhl
        ID & AutoNumber & ID Number \tnhl
        Result Type & Number & Type of result  \tnhl
        Os Type & Text & Architecture type (x86 or x64) \tnhl
        Platform & Number & Platform type \tnhl
        Dateset & Date/Time & Date of benchmark \tnhl
        Name & Text  & Reference system name \tnhl
        Speed & Number & Speed in MHz \tnhl
        Power & Number & Power in 0.01W \tnhl
        Workload Type & Number & Workload Type \tnhl
        N$^o$ Cores & Number & N$^o$ Cores per unit \tnhl
        FSB Speed & Number & FSB Speed in MHZ \tnhl
        Combine score & Number & Combined score in units \tnhl
        Efficiency & Number & Efficiency factor \tnhl
        Table & Number & A set of points of the curve generated by increasing the workload on the processor \tnhl
        \end{tabularx}
        \caption[\emph{Benchmark} de energia consumida pelo processor]{\emph{Benchmark} de energia consumida pelo processor por aumentar o \emph{workload}}
        \label{tab:RefCpuPwrALU}
        \end{table}
        
        \subsection*{.NET Benchmarks} \label{app:dotnet_benchmarks}
        Tables~\ref{tab:RefDNetAA} and \ref{tab:RefDNetMM} are related to .NET benchmarking for the processor.
        % tabelas do erick
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}X|l|X|}
        \hline
        Field Name & \textbf{Data Type} & \textbf{Description} \tnhl
        ID & Number & Component ID \tnhl
        OsType & Text & Architecture type (x86 or x64) \tnhl
        Platform & Text & Platform type (Desktop / Mobile / Server) \tnhl
        System Name & Text & CPU Model \tnhl
        Speed (MHz) & Number & CPU Speed \tnhl
        Power (.01W) & Number & CPU Power \tnhl
        CPU Type & Text & CPU Family \tnhl
        No of Core Units & Number & Number of CPU cores \tnhl
        FSB Speed (MHz) & Number & Bus Speed Obs: set as 0 for all records \tnhl
        Aggregate Performance (MOPS) & Number & Average between performance in dhrystone and whetstone benchmarks \tnhl
        Dhrystone int ALU value (MIPS) & Number & Dhrystone performance \tnhl
        Type of dhrystone & Text & Type of dhrystone benchmark (.NET) \tnhl
        Whetstone float FPU value (MFLOPS) & Number & Whetstone performance \tnhl
        Type of whetstone & Text & Type of whetstone benchmark (.NET) \tnhl
        \end{tabularx}
        \caption{.NET Arithmetic Benchmark em diferentes CPUs}
        \label{tab:RefDNetAA}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}X|l|X|}
        \hline
        Field Name & \textbf{Data Type} & \textbf{Description} \tnhl
        ID & Number & Component ID \tnhl
        OsType & Text & Architecture type (x86 or x64) \tnhl
        Platform & Text & Platform type (Desktop / Mobile / Server) \tnhl
        System Name & Text & CPU Model \tnhl
        Speed (MHz) & Number & CPU Speed \tnhl
        Power (.01W) & Number & CPU Power \tnhl
        CPU Type & Text & CPU Family \tnhl
        No of Core Units & Number & Number of CPU cores \tnhl
        FSB Speed (MHz) & Number & Bus Speed
        Obs: set as 0 for all records \tnhl
        Aggregate Performance (kpixels/s) & Number & Average between performance in integer and float benchmarks \tnhl
        Int .NET Performance (kpixels/s) & Number & Int Performance \tnhl
        Float .NET Performance (kpixels/s) & Number & Float Performance \tnhl
        \end{tabularx}
        \caption{.NET Multi-Media Benchmark em diferentes  CPUs}
        \label{tab:RefDNetMM}
        \end{table}
        %
    
        \subsection*{Benchmarks em central de dados} \label{app:storage_benchmarks}
        Tables~\ref{tab:RefDVDRd}, \ref{tab:RefFileSystem}, \ref{tab:RefHDRd}, \ref{tab:RefHDWr} and \ref{tab:RefTape} are related to storage system.
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}X|l|X|}
        \hline
        Field Name & \textbf{Data Type} & \textbf{Description} \tnhl
        ID & Number & Component ID \tnhl
        OsType & Text & Architecture type (x86 or x64) \tnhl
        Drive Model & Text & DVD drive model \tnhl
        Platform & Text & Platform type (Desktop / Mobile / Server) \tnhl
        Drive Speed (in X) & Number & 4x, 16x, etc \tnhl
        Power (.01W) & Number & Drive Power \tnhl
        Size of Media (in MB) & Number & Disk size \tnhl
        Combined Index (kB/s) & Number & Aggregate performance \tnhl
        Random Access Time (ms) & Number &  \tnhl
        Table: Drive index (kB/s) x Position on Media (\%) & Number & Performance for each position on media \tnhl
        \end{tabularx}
        \caption{DVD Benchmark (read)}
        \label{tab:RefDVDRd}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}l|l|X|}
        \hline
        \textbf{Field Name} & \textbf{Data Type} & \textbf{Description} \tnhl
        \textbf{ID} & Number & Component ID \tnhl
        \textbf{OsType} & Text & Architecture type (x86 or x64) \tnhl
        \textbf{Drive Model} & Text &  \tnhl
        \textbf{Platform} & Text & Platform type (Desktop / Mobile / Server) \tnhl
        \textbf{Drive Speed (RPM)} & Number &  \tnhl
        \textbf{Power (.01W)} & Number & Drive Power \tnhl
        \textbf{Drive Size (in MB)} & Number & Disk size \tnhl
        \textbf{Drive type} & Text & HD/Removable/Network \tnhl
        \textbf{Drive index (kB/s)} & Number & Aggregate performance for both reading and writing \tnhl
        \textbf{Random Access Time (ms)} & Number &  \tnhl
        \end{tabularx}
        \caption[Mounted File Systems Benchmark]{Mounted file systems benchmark. Aggregate performance for several types of drives (HD/Removable/Network)}
        \label{tab:RefFileSystem}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}X|l|X|}
        \hline
        Field Name & \textbf{Data Type} & \textbf{Description} \tnhl
        ID & Number & Component ID \tnhl
        OsType & Text & Architecture type (x86 or x64) \tnhl
        Platform & Text & Platform type (Desktop / Mobile / Server) \tnhl
        Drive Model & Text &  \tnhl
        Drive Speed (RPM) & Number & Obs.: set to 1000 for pen drives \tnhl
        Power (.01W) & Number & Drive Power \tnhl
        Drive Size (in MB) & Number & Disk size \tnhl
        Combined Index (kB/s) & Number & Aggregate Performance \tnhl
        Random Access Time (ms) & Number &  \tnhl
        Table: Drive index (kB/s) x Position on HD (\%) & Number & Performance for each position on HD \tnhl
        \end{tabularx}
        \caption{Physical Disk Benchmark (read)}
        \label{tab:RefHDRd}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}X|l|X|}
        \hline
        \textbf{ID} & \textbf{Number} & \textbf{Component ID} \tnhl
        OsType & Text & Architecture type (x86 or x64) \tnhl
        Platform & Text & Platform type (Desktop / Mobile / Server) \tnhl
        Drive Model & Text & \tnhl
        Drive Speed (RPM) & Number & Obs: set to 1000 for pen drives \tnhl
        Power (.01W) & Number & Drive Power \tnhl
        Drive Size (in MB) & Number & Disk size \tnhl
        Combined Index (kB/s) & Number & Aggregate Performance \tnhl
        Random Access Time (ms) & Number & \tnhl
        Table: Drive index (kB/s) x Position on HD (\%) & Number & Performance for each position on HD \tnhl
        \end{tabularx}
        \caption{Physical Disk Benchmark (write)}
        \label{tab:RefHDWr}
        \end{table}
        %
        
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}l|l|X|}
        \hline
        \textbf{ID} & \textbf{Number} & \textbf{Component ID} \tnhl
        \textbf{OsType} & Text & Architecture type (x86 or x64) \tnhl
        \textbf{Platform} & Text & Platform type (Desktop / Mobile / Server) \tnhl
        \textbf{Drive name/model} & Text & \tnhl
        \textbf{Interface speed (Mbps)} & Number & \tnhl
        \textbf{Power (.01W)} & Number & \tnhl
        \textbf{Size of tape (MB)} & Number & \tnhl
        \textbf{Drive index (kB/s)} & Number &  \tnhl
        \textbf{Random access time (ms)} & Number & \tnhl
        \end{tabularx}
        \caption{Tape Drives Benchmark}
        \label{tab:RefTape}
        \end{table}
        %
        \subsection*{Java Benchmarks} \label{app:java_benchmarks}
        Tables~\ref{tab:RefJavaAA} and \ref{tab:RefJavaMM} are related to Java benchmars.
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}X|l|X|}
        \hline
        \textbf{ID} & \textbf{Number} & \textbf{Component ID} \tnhl
        OsType & Text & Architecture type (x86 or x64) \tnhl
        Platform & Text & Platform type (Desktop / Mobile / Server) \tnhl
        System Name & Text & CPU Model \tnhl
        Speed (MHz) & Number & CPU Speed \tnhl
        Power (.01W) & Number & CPU Power \tnhl
        CPU Type & Text & CPU Family \tnhl
        No of Core Units & Number & Number of CPU cores \tnhl
        FSB Speed (MHz) & Number & Bus Speed Obs: set as 0 for all records \tnhl
        Aggregate Performance (MOPS) & Number & Average between performance in dhrystone and whetstone benchmarks \tnhl
        Dhrystone int ALU value (MIPS) & Number & Dhrystone performance \tnhl
        Type of dhrystone & Text & Type of dhrystone benchmark (Java) \tnhl
        Whetstone float FPU value (MFLOPS) & Number & Whetstone performance \tnhl
        Type of whetstone & Text & Type of whetstone benchmark (Java) \tnhl
        \end{tabularx}
        \caption[Java VM Arithmetic Benchmark]{Java VM Arithmetic Benchmark on several CPUs}
        \label{tab:RefJavaAA}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}X|l|X|}
        \hline
        \textbf{ID} & \textbf{Number} & \textbf{Component ID} \tnhl
        OsType & Text & Architecture type (x86 or x64) \tnhl
        Platform & Text & Platform type (Desktop / Mobile / Server) \tnhl
        System Name & Text & CPU Model \tnhl
        Speed (MHz) & Number & CPU Speed \tnhl
        Power (.01W) & Number & CPU Power \tnhl
        CPU Type & Text & CPU Family \tnhl
        No of Core Units & Number & Number of CPU cores \tnhl
        FSB Speed (MHz) & Number & Bus Speed 
        Obs: set as 0 for all records \tnhl
        Aggregate Performance (kpixels/s) & Number & Average between performance in integer and float benchmarks \tnhl
        Int Java Performance (kpixels/s) & Number & Int Performance \tnhl
        Float Java Performance (kpixels/s) & Number & Float Performance \tnhl
        \end{tabularx}
        \caption[Java VM Multi-Media Benchmark]{Java VM Multi-Media Benchmark on several CPUs}
        \label{tab:RefJavaMM}
        \end{table}
        %
        \subsection*{Benchmarks em mem\'{o}ria} \label{app:memory_benchmarks}
        Tables~\ref{tab:RefMemBwAdv}, \ref{tab:RefMemBwLeg}, \ref{tab:RefMemLatLin} and \ref{tab:RefMemLatRnd} are related to memory benchmarks.
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}X|l|X|}
        \hline
        \textbf{ID} & \textbf{Number} & \textbf{Component ID} \tnhl
        OsType & Text & Architecture type (x86 or x64) \tnhl
        Platform & Text & Platform type (Desktop / Mobile / Server) \tnhl
        Memory model & Text & Different configurations: Single chipsets or pairs of chipsets \tnhl
        Memory Speed (MHz) & Number & \tnhl
        Memory Power (.01W) & Number & \tnhl
        Memory Size (MB) & Number & Sum of capacities of all chipsets in the configuration \tnhl
        Cache speed (MHz) & Number & Obs: set as 0 for all records \tnhl
        Memory control speed (MHz) & Number & Obs: set as 0 for all records \tnhl
        Internal Graphics (0: no  1:yes) & Boolean & Set as 1 if it is a graphical card's internal memory \tnhl
        Aggregate memory performance (MB/s) & Number & Average between ALU and FPU bandwidths \tnhl
        ALU bandwidth & Number & Obs: not shown in Sandra \tnhl
        ALU type & Text & Obs: not shown in Sandra \tnhl
        FPU bandwidth & Number & Obs: not shown in Sandra \tnhl
        FPU type & Text & Obs.: not shown in Sandra \tnhl
        \end{tabularx}
        \caption[Memory Bandwidth Benchmark (novos componentes)]{Memory Bandwidth Benchmark (novos componentes) Obs.: diferen\c{c}as entre ALU e FPU banda s\~{a}o not\'{a}veis somente em componentes antigos}
        \label{tab:RefMemBwAdv}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}X|l|X|}
        \hline
        ID & \textbf{Number} & \textbf{Component ID} \tnhl
        OsType & Text & Architecture type (x86 or x64) \tnhl
        Platform & Text & Platform type (Desktop / Mobile / Server) \tnhl
        Memory model & Text & Different configurations: Single chipsets or pairs of chipsets \tnhl
        Memory Speed (MHz) & Number & \tnhl
        Memory Power (.01W) & Number & \tnhl
        Memory Size (MB) & Number & Sum of capacities of all chipsets in the configuration \tnhl
        Cache speed (MHz) & Number & Obs: set as 0 for all records \tnhl
        Memory control speed (MHz) & Number & Obs: set as 0 for all records \tnhl
        Internal Graphics (0: no  1:yes) & Boolean & Set as 1 if it is a graphical card's internal memory \tnhl
        Aggregate memory performance (MB/s) & Number & Average between ALU and FPU bandwidths \tnhl
        ALU bandwidth & Number & Obs: not shown in Sandra \tnhl
        ALU type & Text & Obs: not shown in Sandra \tnhl
        FPU bandwidth & Number & Obs: not shown in Sandra \tnhl
        FPU type & Text & Obs: not shown in Sandra \tnhl
        \end{tabularx}
        \caption[Memory Bandwidth Benchmark - (componentes legados)]{Memory Bandwidth Benchmark (componentes legados) Obs.: diferen\c{c}as entre ALU e FPU banda s\~{a}o not\'{a}veis somente em componentes antigos}
        \label{tab:RefMemBwLeg}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}X|l|X|}
        \hline
        ID & \textbf{Number} & \textbf{Component ID} \tnhl
        OsType & Text & Architecture type (x86 or x64) \tnhl
        Platform & Text & Platform type (Desktop / Mobile / Server) \tnhl
        Memory model & Text & Different configurations: Single chipsets or pairs of chipsets \tnhl
        Memory Speed (MHz) & Number & \tnhl
        Memory Power (.01W) & Number & \tnhl
        Memory Size (MB) & Number & Sum of capacities of all chipsets in the configuration \tnhl
        Cache speed (MHz) & Number & Obs: set as 0 for all records \tnhl
        Memory control speed (MHz) & Number & Obs: set as 0 for all records \tnhl
        Internal Graphics (0: no  1:yes) & Boolean & Set as 1 if it is a graphical card's internal memory \tnhl
        Combined index (ns) & Number & Aggregate latency result \tnhl
        Speed factor & Number & Obs: not shown in Sandra \tnhl
        Table: Memory latency (ns) x Test Range Size (bytes) & Number & Latency for chunks of data of different sizes (from 1kB to 64MB) \tnhl
        \end{tabularx}
        \caption[Memory Latency Benchmark - disposi\c{c}\~{a}o linear]{Memory Latency Benchmark (disposi\c{c}\~{a}o linear de data chunks)}
        \label{tab:RefMemLatLin}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}X|l|X|}
        \hline
        \textbf{ID} & \textbf{Number} & \textbf{Component ID} \tnhl
        OsType & Text & Architecture type (x86 or x64) \tnhl
        Platform & Text & Platform type (Desktop / Mobile / Server) \tnhl
        Memory model & Text & Different configurations: Single chipsets or pairs of chipsets \tnhl
        Memory Speed (MHz) & Number & \tnhl
        Memory Power (.01W) & Number & \tnhl
        Memory Size (MB) & Number & Sum of capacities of all chipsets in the configuration \tnhl
        Cache speed (MHz) & Number & Obs: set as 0 for all records \tnhl
        Memory control speed (MHz) & Number & Obs: set as 0 for all records \tnhl
        Internal Graphics (0: no  1:yes) & Boolean & Set as 1 if it is a graphical card's internal memory \tnhl
        Combined index (ns) & Number & Aggregate latency result \tnhl
        Speed factor & Number & Obs: not shown in Sandra \tnhl
        Table: Memory latency (ns) x Test Range Size (bytes) & Number & Latency for chunks of data of different sizes (from 1kB to 64MB) \tnhl
        \end{tabularx}
        \caption[Memory Latency Benchmark - disposi\c{c}\~{a}o aleat\'{o}ria]{Memory Latency Benchmark (disposi\c{c}\~{a}o aleat\'{o}ria dos data chunks na memoria)}
        \label{tab:RefMemLatRnd}
        \end{table}
        %
        \subsection*{Benchmarks em conexoes de rede} \label{app:network_benchmarks}
        Tables~\ref{tab:RefNetwork}, \ref{tab:RefWebConnection} and \ref{tab:RefWireless} are related to Network connection benchmarks.
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}X|l|X|}
        \hline
        \textbf{ID} & \textbf{Number} & \textbf{Component ID} \tnhl
        \textbf{OsType} & Text & Architecture type (x86 or x64) \tnhl
        \textbf{Platform} & Text & Platform type (Desktop / Mobile / Server) \tnhl
        \textbf{Network Adapter} & Text & Network card model \tnhl
        \textbf{Interface speed (kbps)} & Number & Divide by 1000 to obtain speed in Mbit \tnhl
        \textbf{Power (.01W)} & Number & \tnhl
        \textbf{Bandwidth (kB/s)} & Number & Measured speed \tnhl
        \textbf{Average latency (us)} & Number & \tnhl
        \end{tabularx}
        \caption[LAN Devices Benchmark]{LAN Devices Benchmark (network cards)}
        \label{tab:RefNetwork}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}l|l|X|}
        \hline
        \textbf{ID} & \textbf{Number} & \textbf{Component ID} \tnhl
        \textbf{OsType} & Text & Architecture type (x86 or x64) \tnhl
        \textbf{Platform} & Text & Platform type (Desktop / Mobile / Server) \tnhl
        \textbf{Type/name of connection} & Text & Router/modem model \tnhl
        \textbf{Interface speed (kbps)} & Number & Divide by 1000 to obtain speed in Mbit \tnhl
        \textbf{Power (.1W)} & Number & Obs: set as 0 for all records \tnhl
        \textbf{Bandwidth (kB/s)} & Number & Measured speed \tnhl
        \textbf{Average latency (ms)} & Number & \tnhl
        \end{tabularx}
        \caption[Internet Connection Benchmark]{Internet Connection Benchmark - desempenho de modems/routers}
        \label{tab:RefWebConnection}
        \end{table}
        %
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}l|l|X|}
        \hline
        \textbf{ID} & \textbf{Number} & \textbf{Component ID} \tnhl
        OsType & Text & Architecture type (x86 or x64) \tnhl
        Platform & Text & Platform type (Desktop / Mobile / Server) \tnhl
        Type/name of connection & Text & Router/modem model \tnhl
        Interface speed (kbps) & Number & Divide by 1000 to obtain speed in Mbit \tnhl
        Power (.01W) & Number & \tnhl
        Bandwidth (kB/s) & Number & Measured speed \tnhl
        Average latency (us) & Number & \tnhl
        \end{tabularx}
        \caption{Desempenho de wireless modems/routers}
        \label{tab:RefWireless}
        \end{table}


    \pagebreak
    \section{Tabelas das medi\c{c}\~{o}es} \label{app:measures_toolino}
    %TODO colocar as tabelas "completas" do excel aqui.
    % tabelas feitas com o toolino e sandra dos comps dos amigos
        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}l|>{\centering}X|>{\centering}X|>{\centering}X|>{\centering}X|}
        \hline
        \bf{Computer Model} & \bf{\emph{Idle} with monitor on (W)} & \bf{\emph{Idle} with monitor off (W)} & \bf{Estimated Monitor Power (W)} & \bf{Processor fully stressed} \tnhl
        HPdv3500el & 28.57 & 25.19 & 3.38 & 35.64 \tnhl
        HPdv6580el & 62.18 & 57.14 & 5.04 & 85.27 \tnhl
        Compaq-nx9420 & 78.89 & 74.65 & 4.24 & 79.64 \tnhl
        Acer Aspire 6935g & 38.67 & 33.76 & 4.91 & 55.39 \tnhl
        Acer Aspire 4720z & 44.57 & 39.88 & 4.69 & 67.28 \tnhl
        Acer Aspire 5930G & 44.48 & 39.56 & 4.92 & 62.83 \tnhl
        HP dv6000 & 43.65 & 39.12 & 4.53 & 58.95 \tnhl
        Toshiba & 54.80 & 46.03 & 8.77 & 65.73 \tnhl
        Fujistu AMILO Pa2548 & 60.28 & 55.40 & 4.88 & 87.40 \tnhl
        Samsung Q310 & 33.60 & 26.60 & 7.00 & 48.55 \tnhl
        Acer Aspire 5930G & 39.33 & 32.52 & 6.81 & 62.40 \tnhl
        HP Pavilion dv6000 & 34.06 & 29.38 & 4.68 & 48.20 \tnhl
        Sony Vaio SZ650N & 52.44 & 45.67 & 6.77 & 81.65 \tnhl
        HP Pavilion ze2000 & 37.48 & 31.48 & 6.00 & 58.34 \tnhl
        Sony Vaio v6nfw11e & 34.84 & 29.57 & 5.27 & 44.14 \tnhl
        Asus F3 Series & 47.63 & 38.98 & 8.65 & 50.33 \tnhl
        HP 550 & 41.31 & 33.60 & 7.71 & 48.11 \tnhl
        \end{tabularx}
        \caption{Medi\c{c}\~{o}es efetuadas com o Instrumento de Medi\c{c}\~{a}o de Pot\^{e}ncia}
        \label{tab:measures}
        \end{table}


        \begin{table}[htbp]
        \centering
        \begin{tabularx}{\textwidth}{|>{\bfseries}l|>{\centering}X|>{\centering}X|>{\centering}X|>{\centering}X|}
        \hline
        \bf{Computer Model} & \bf{Processor Benchmark (W)} & \bf{Cache \& Memory Benchmark$^a$ (W)} & \bf{Physical Disks Benchmark (W)} \tnhl
        HPdv3500el & 19.69 & 26.69 & N/A \tnhl
        HPdv6580el & 32.01 & 40.06 & 2.00 \tnhl
        Compaq-nx9420 & 26.93 & 36.16 & N/A \tnhl
        Acer Aspire 6935g & 28.03 & 35.03 & N/A \tnhl
        Acer Aspire 4720z & 19.78 & 34.57 & N/A \tnhl
        Acer Aspire 5930G & 25.13 & 32.13 & N/A \tnhl
        HP dv6000 & 25.00 & 34.23 & N/A \tnhl
        Toshiba & 22.50 & 31.24 & N/A \tnhl
        Fujistu AMILO Pa2548 & N/A & N/A & N/A \tnhl
        Samsung Q310 & 26.28 & 33.28 & N/A \tnhl
        Acer Aspire 5930G & 38.60 & 47.63 & N/A \tnhl
        HP Pavilion dv6000 & 12.95 & 31.84 & N/A \tnhl
        Sony Vaio SZ650N & 28.99 & 49.68 & N/A \tnhl
        HP Pavilion ze2000 & 14.62 & 17.86 & N/A \tnhl
        Sony Vaio v6nfw11e & 35.08 & 42.08 & N/A \tnhl
        Asus F3 Series & 12.44 & 28.53 & N/A \tnhl
        HP 550 & 29.63 & 44.42 & N/A \tnhl
        \end{tabularx}\linebreak
        $^a$ chipset + processor + memory\linebreak
        $N/A$ Not Returned a Valuable Result
        \caption{Medi\c{c}\~{o}es dos Benchmark do SANDRA}
        \label{tab:measures_sandra}
        \end{table}

        \begin{table}[htbp]
        \centering
        \begin{tabular}{|>{\bfseries}l|l|}
        \hline
        \bf{Computer Model} & \bf{Processor Model} \tnhl
        HPdv3500el & Intel Core Duo P8400 @ 2.26GHz \tnhl
        HPdv6580el & Intel Core Duo T7300 @ 2.00GHz \tnhl
        Compaq-nx9420 & Intel Core Duo T2400 @ 1.83 GHz \tnhl
        Acer Aspire 6935g & Intel Core Duo T6400 @ 2.00GHz  \tnhl
        Acer Aspire 4720z & Intel Core Duo T2310 @ 1.66 GHz \tnhl
        Acer Aspire 5930G & Intel Core 2  P7350 @ 2.0GHz \tnhl
        HP dv6000 & Intel Core Duo T5600 @ 1.83GHz \tnhl
        Toshiba & Intel Core Duo T2300 @ 1.66 GHz \tnhl
        Fujistu AMILO Pa2548 & AMD Turion 64 X2 TL-58 @ 1.9GHz \tnhl
        Samsung Q310 & Intel Core Duo P7350 @ 2.00GHz  \tnhl
        Acer Aspire 5930G & Intel Core Duo T9400 @ 2.53GHz \tnhl
        HP Pavilion dv6000 & Intel Core Duo T5450 @ 1.66GHz \tnhl
        Sony Vaio SZ650N & Intel Core Duo T7500 @ 2.20 GHz \tnhl
        HP Pavilion ze2000 & Intel Pentium M 1.60 GHz \tnhl
        Sony Vaio v6nfw11e & Intel Core Duo P8400 @ 2.26 GHz \tnhl
        Asus F3 Series & Intel Core Duo T7300 @ 2.00GHz \tnhl
        HP 550 & Intel Celeron 530 @ 1.73 GHz \tnhl
        \end{tabular}
        \caption{Processador componente de cada computador analizado}
        \label{tab:computer_processor}
        \end{table}


        \begin{table}[htbp]
        \centering
        \begin{tabularx}{0.7\textwidth}{|l|>{\centering}X|}
        \hline
        \bf{Processor Model} & \bf{Processor nominal power (W)} \tnhl
        Intel Core Duo P8400 @ 2.26GHz & 25 \tnhl
        Intel Core Duo T7300 @ 2.00GHz & 35 \tnhl
        Intel Core Duo T2400 @ 1.83 GHz & 31 \tnhl
        Intel Core Duo T6400 @ 2.00GHz  & 35 \tnhl
        Intel Core Duo T2310 @ 1.66 GHz & 35 \tnhl
        Intel Core 2  P7350 @ 2.0GHz & 25 \tnhl
        Intel Core Duo T5600 @ 1.83GHz & 34 \tnhl
        Intel Core Duo T2300 @ 1.66 GHz & 31 \tnhl
        AMD Turion 64 X2 TL-58 @ 1.9GHz & 31 \tnhl
        Intel Core Duo P7350 @ 2.00GHz  & 25 \tnhl
        Intel Core Duo T9400 @ 2.53GHz & 35 \tnhl
        Intel Core Duo T5450 @ 1.66GHz & 35 \tnhl
        Intel Core Duo T7500 @ 2.20 GHz & 35 \tnhl
        Intel Pentium M 1.60 GHz & 35 \tnhl
        Intel Core Duo P8400 @ 2.26 GHz & 25 \tnhl
        Intel Core Duo T7300 @ 2.00GHz & 35 \tnhl
        Intel Celeron 530 @ 1.73 GHz & 27 \tnhl
        \end{tabularx}
        \caption{Especifica\c{c}\~{a}o do fabricante para cada computador}
        \label{tab:manufacturer_specification}
        \end{table}


    %\section{Characteristics of Measured Computers} \label{app:characteristics_measured_computers}
    %TODO

    \clearpage
    \section{Esquema do banco de dados de componentes} \label{app:database_schema}
    %TODO
        \begin{sidewaysfigure}[htbp]
            \centering
            \resizebox{\textwidth}{!}{ % Fazendo a tabela caber no espaco da pagina
            \includegraphics{graphics/database_schema}}
            \caption{Esquema do banco de dados de componentes}
            \label{fig:database_schema}
        \end{sidewaysfigure}


